home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Windows News 2010 Summer - Disc 1
/
WN_Ete2010_CD1.iso
/
Onglet5
/
Weezo
/
Weezo setup.exe
/
{code_appDir}
/
www
/
js
/
webcam-src.js
< prev
next >
Wrap
Text File
|
2010-05-19
|
4KB
|
126 lines
var webcamDetected=0, imgIndex=0, imgTmp=new Image(), lastUpdateRequest=(new Date()).getTime();
if(W.winMe) winMe.setCloseFunction("winOnClose");
function init(){
if(!useFlashPlayer) setTimeout("updateImage()",refreshRate);
}
function toggleFlash(){document.forms.toggleFlashForm.submit();}
function winOnClose(){if(dgi('playerWebcam')) dgi('playerWebcam').parentNode.removeChild(dgi('playerWebcam'));}
function setImageSize(w,h){
var pW=dgi('playerWebcam'), pWE=dgi('playerWebcamEmbed');
if(h==undefined && w.indexOf(',')>0){
h=w.substr(w.indexOf(',')+1);
w=w.substr(0,w.indexOf(','));
}
if(winUseWindows && w && h){
winMe.resizeTo(w*1+50,h*1+70,1);
windowSizeSet=true;
}
if(pW){
pW.width=w;
pW.height=h;
pW.style.width=w+'px';
pW.style.height=h+'px';
}
if(pWE){
pWE.style.width=w+"px";
pWE.style.height=h+"px";
}
}
/*
function updateRefreshRate(){
var newRR=dgi('rrInput').value;
if(typeof newRR!=number) {dgi('rrInput').value=refreshRate/1000; return;}
refreshRate=1000*newRR;
setTimeout("updateImage()",refreshRate);
updateImage();
}
*/
function noWebcamDetected(){
webcamDetected=0;
dgi('webcamError').style.display="block";
if(dgi('webcamImg0')) {
dgi('webcamImg0').style.display="none";
dgi('webcamImg1').style.display="none";
}
if(dgi('playerWebcam')) dgi('playerWebcam').style.display="none";
W.setTimeout("wl.goURL()",3000);
}
/**
* Transition animation beetwen the 2 images
*/
var fadeToImagePos=0, fateToImageNb=0;
function fadeToImage(imgNb){
if(imgNb!==undefined) {
fateToImageNb=imgNb;
// anim already in progress: terminate and let anim be restarted by timer
if(fadeToImagePos>0 && fadeToImagePos<1) {
setAlpha(dgi("webcamImg1"),(1-fateToImageNb));
return;
}
}
fadeToImagePos=Math.max(0,Math.min(1,fadeToImagePos+0.05*(2*fateToImageNb-1)));
setAlpha(dgi("webcamImg1"),fadeToImagePos);
if(fadeToImagePos>0 && fadeToImagePos<1) setTimeout(fadeToImage,40);
}
/**
* Set new image source. Called by async PHP script
*/
function setImage(source){
if(!webcamDetected){
// Ensure "no detected webcam" message is hidden
dgi('webcamError').style.display="none";
// and webcam images are displayed
if(dgi('webcamImg0')){
dgi('webcamImg0').style.display="";
dgi('webcamImg1').style.display="";
}
// and flash object is displayed
if(dgi('playerWebcam')) dgi('playerWebcam').style.display="";
if(dgi('playerWebcamEmbed')) dgi('playerWebcamEmbed').style.display="";
}
// Load image with javascript object
imgTmp.src=source;
// And when loaded, trigger transition animation and set timer for next image request
imgTmp.onload=function(){
dgi("webcamImg"+imgIndex).src=imgTmp.src;
fadeToImage(imgIndex);
imgIndex=1-imgIndex;
setTimeout("updateImage()",10+Math.max(1,refreshRate-((new Date()).getTime()-lastUpdateRequest)))
};
// Gecko webcamImg1 position WA
if(phpBrowser=='gecko' && dgi('webcamImg0').offsetTop<0) dgi('webcamImg1').style.top=dgi('webcamImg0').offsetTop;
}
// Update time
function setTimeCaption(newTime){winMe.setTitle(resName+' - '+newTime,0)}
/**
* Send request to server for a new image
*/
function updateImage(){
lastUpdateRequest=(new Date()).getTime();
sendData('asyncRefresh=true&noSt=true');
}
/**
* Flash player commands processing
* @param c: command (see below)
* @param args: width+"x"+height if command is "setImageSize", formated time if command is "setTimeCaption"
*/
function processFlashCommand(c,args) {
if(c=='setTimeCaption') setTimeCaption(args);
if(c=='setImageSize') setImageSize(args);
if(c=='noWebcamDetected') setImageSize();
}
function playerWebcam_DoFSCommand(c, args) {processFlashCommand(c,args)}
function flashCommand(c,args) {processFlashCommand(c,args);}